﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;



namespace 水费管理系统
{
    public partial class 抄表录入 : Form
    {
        private bool is_new=false;

        public 抄表录入()
        {
            InitializeComponent();
        }

        private void label5_Click(object sender, EventArgs e)
        {

        }

        private void 抄表录入_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“dataSet1.设置年月”中。您可以根据需要移动或移除它。
            this.设置年月TableAdapter.Fill(this.dataSet1.设置年月);
            // TODO: 这行代码将数据加载到表“dataSet1.基本信息”中。您可以根据需要移动或移除它。
            this.基本信息TableAdapter.Fill(this.dataSet1.基本信息);
                
            this.抄表BindingSource.AddNew();
        }

//        private void textBox2_Leave(object sender, EventArgs e)
//        {
//            if (!is_new) return;
//            this.设置年月TableAdapter.FillByYx(this.dataSet1.设置年月);
//            this.基本信息TableAdapter.FillBy户号(this.dataSet1.基本信息, textBox2.Text);
//            if (this.dataSet1.基本信息.Count == 0) 
//            {
//                MessageBox.Show("没有此户！");
//                textBox2.Text = "";
//                textBox2.Focus();
//                return;
//            }
////            this.dataSet1.抄表[抄表BindingSource.Position].户名 = this.dataSet1.基本信息[0].户名;
////            抄表BindingSource.Current.用户单位 = this.dataSet1.基本信息[0].用户单位;


//            tb_用户单位.Text = this.dataSet1.基本信息[0].用户单位;
//            tb_户名.Text = this.dataSet1.基本信息[0].户名;
//            tb_联系电话.Text = this.dataSet1.基本信息[0].联系电话;
//            tb_水表编号.Text=this.dataSet1.基本信息[0].水表编号;
//            textBox6.Text = this.dataSet1.基本信息[0].水表位数;
//            textBox7.Text = this.dataSet1.基本信息[0].倍率.ToString();
//            textBox8.Text = this.dataSet1.基本信息[0].水价类别;
//            textBox9.Text = this.dataSet1.基本信息[0].单价.ToString();
//            tb_起码.Text=this.抄表TableAdapter.止码(textBox2.Text).ToString();
//            textBox16.Text = this.dataSet1.设置年月[0].年度;
//            textBox15.Text = this.dataSet1.设置年月[0].月份;
//            textBox14.Text = this.dataSet1.设置年月[0].滞纳金计算时间.ToString();
                 
            
//        }

//        private void 保存SToolStripButton_Click(object sender, EventArgs e)
//        {
//            if(is_new)
//            {
//                try
//                {
//                    this.Validate();
//                    this.抄表BindingSource.EndEdit();
//                    this.抄表TableAdapter.Update(this.dataSet1.抄表);
//                    MessageBox.Show("保存成功!");
//                    is_new = false;
//                }
//                catch (Exception ex)
//                {
//                    MessageBox.Show(ex.Message);
//                }
//            }
//            else
//            {
//                MessageBox.Show("非新增数据,无法保存!");
//            }

//        }

//        private void textBox11_Leave(object sender, EventArgs e)
//        {
//            Int32 起码,止码, 水表位数,用水量;
//            Double 单价,应交金额,倍率;
//            单价=Convert.ToDouble(textBox9.Text);
//            if(tb_起码.Text.Trim()=="")
//            {
//                MessageBox.Show("请输入起码!");
//                tb_起码.ReadOnly = false;
//                tb_起码.Focus();
//                return;
//            }
//            起码 = Convert.ToInt32(tb_起码.Text);
//            止码 = Convert.ToInt32(tb_止码.Text);
//            水表位数 = Convert.ToInt32(textBox6.Text);
//            倍率=Convert.ToDouble(textBox7.Text);
//            while (止码 < 起码) 止码 += Convert.ToInt32(Math.Pow(10,水表位数));
//            tb_止码.Text = Convert.ToString(止码);
//            用水量=止码-起码;
//            应交金额=Math.Round(用水量*单价*倍率,2);
//            tb_用水量.Text = Convert.ToString(用水量);
//            tb_应交金额.Text=Convert.ToString(应交金额);
//        }

//        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
//        {
//            is_new = true;
//        }

//        private void 抄表BindingNavigatorSaveItem_Click(object sender, EventArgs e)
//        {
//            this.Validate();
//            this.抄表BindingSource.EndEdit();
//            this.抄表TableAdapter.Update(this.dataSet1.抄表);

//        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                this.Validate();
                this.抄表BindingSource.EndEdit();
                this.抄表TableAdapter.Update(this.dataSet1.抄表);
                DialogResult dr = MessageBox.Show("保存成功，是否继续？", "提示", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    起码TextBox.ReadOnly = false;
                    this.抄表BindingSource.AddNew();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void 户号ComboBox_Leave(object sender, EventArgs e)
        {
            try
            {
                if (户号ComboBox.Text.Trim() == "") return;
                DataSet1.基本信息DataTable 基本信息 = this.基本信息TableAdapter.GetDataBy户号(户号ComboBox.Text.Trim());
                if (基本信息.Count < 1)
                    throw (new System.Exception("不存在此户!"));
                户名TextBox.Text = 基本信息[0].户名;
                用户单位ComboBox.Text = 基本信息[0].用户单位;
                if (!基本信息[0].Is联系电话Null())
                    联系电话TextBox.Text = 基本信息[0].联系电话;
                水表编号TextBox.Text = 基本信息[0].水表编号;
                水表位数TextBox.Text = 基本信息[0].水表位数;
                水价类别TextBox.Text = 基本信息[0].水价类别;
                单价TextBox.Text = Convert.ToString (基本信息[0].单价);
                倍率TextBox.Text = Convert.ToString (基本信息[0].倍率);

                this.设置年月TableAdapter.FillByYx(this.dataSet1.设置年月);
                年度TextBox.Text = this.dataSet1.设置年月[0].年度;
                月份TextBox.Text = this.dataSet1.设置年月[0].月份;
                滞纳金日期DateTimePicker.Text = this.dataSet1.设置年月[0].滞纳金计算时间.ToString();

                if (抄表TableAdapter.止码(户号ComboBox.Text.Trim()) == null)
                {
                    起码TextBox.ReadOnly = false;
                    起码TextBox.Focus();
                }
                else
                {
                    起码TextBox.Text = Convert.ToString(抄表TableAdapter.止码(户号ComboBox.Text.Trim()));
                    止码TextBox.Focus();
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void 止码TextBox_Leave(object sender, EventArgs e)
        {
            Int32 起码, 止码, 水表位数, 用水量;
            Double 单价, 应交金额, 倍率;
            单价 = Convert.ToDouble(单价TextBox.Text.Trim());
            if (起码TextBox.Text.Trim() == "")
            {
                MessageBox.Show("请输入起码!");
                起码TextBox.ReadOnly = false;
                起码TextBox.Focus();
                return;
            }
            起码 = Convert.ToInt32(起码TextBox.Text.Trim());
            止码 = Convert.ToInt32(止码TextBox.Text.Trim());
            水表位数 = Convert.ToInt32(水表位数TextBox.Text.Trim());
            倍率 = Convert.ToDouble(倍率TextBox.Text.Trim());

            while (止码 < 起码) 止码 += Convert.ToInt32(Math.Pow(10, 水表位数));
            止码TextBox.Text = Convert.ToString(止码);
            用水量 = 止码 - 起码;
            应交金额 = Math.Round(用水量 * 单价 * 倍率, 2);
            用水量TextBox.Text = Convert.ToString(用水量);
            应交金额TextBox.Text = Convert.ToString(应交金额);

        }

        private void 户名TextBox_Leave(object sender, EventArgs e)
        {
            if (户名TextBox.Text.Trim() == "") return;
            this.基本信息TableAdapter.FillBy户名(this.dataSet1.基本信息, 户名TextBox.Text.Trim());
            户号ComboBox.Focus();
        } 
    }
}